Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(taro): 按照微信小程序文档的分类方式拆分 index.d.ts 为 87 个文件 #4557

Merged
merged 4 commits into from
Oct 12, 2019
Merged

feat(taro): 按照微信小程序文档的分类方式拆分 index.d.ts 为 87 个文件 #4557

merged 4 commits into from
Oct 12, 2019

Conversation

Garfield550
Copy link
Collaborator

这个 PR 做了什么? (简要描述所做更改)

按照微信小程序文档的分类方式将 index.d.ts 拆分为 21 个文件夹和 87 个文件,实现模块化组织类型定义。

详细的目录结构及文件功能描述如下所示。

目录结构
├── api                                  小程序端能力 API
│   ├── advertisement
│   │   └── advertisement.d.ts           广告 API
│   ├── alipay
│   │   └── alipay.d.ts                  支付宝小程序 API
│   ├── base
│   │   ├── base.d.ts                    基础 API
│   │   ├── base.debug.d.ts              基础 -> 调试 API
│   │   ├── base.system.d.ts             基础 -> 系统 API
│   │   ├── base.update.d.ts             基础 -> 更新 API
│   │   └── base.weapp.d.ts              基础 -> 小程序 API
│   ├── canvas
│   │   └── canvas.d.ts                  画布 API
│   ├── cloud
│   │   └── cloud.d.ts                   微信小程序云开发 API
│   ├── device
│   │   ├── device.accelerometer.d.ts    设备 -> 加速计 API
│   │   ├── device.battery.d.ts          设备 -> 电量 API
│   │   ├── device.ble.d.ts              设备 -> 低功耗蓝牙 API
│   │   ├── device.bluetooth.d.          设备 -> 蓝牙 API
│   │   ├── device.clipboard.d.ts        设备 -> 剪贴板 API
│   │   ├── device.compass.d.ts          设备 -> 罗盘 API
│   │   ├── device.contact.d.ts          设备 -> 联系人 API
│   │   ├── device.gyroscope.d.ts        设备 -> 陀螺仪 API
│   │   ├── device.iBeacon.d.ts          设备 -> iBeacon API
│   │   ├── device.motion.d.ts           设备 -> 设备方向 API
│   │   ├── device.network.d.ts          设备 -> 网络 API
│   │   ├── device.nfc.d.ts              设备 -> NFC API
│   │   ├── device.performance.d.ts      设备 -> 性能 API
│   │   ├── device.phone.d.ts            设备 -> 电话 API
│   │   ├── device.scan.d.ts             设备 -> 扫码 API
│   │   ├── device.screen.d.ts           设备 -> 屏幕 API
│   │   ├── device.vibrate.d.ts          设备 -> 振动 API
│   │   └── device.wifi.d.ts             设备 -> Wi-Fi API
│   ├── ext
│   │   └── ext.d.ts                     第三方平台 API
│   ├── files
│   │   └── files.d.ts                   文件 API
│   ├── framework
│   │   └── framework.d.ts               小程序框架 API
│   ├── location
│   │   └── location.d.ts                位置 API
│   ├── media
│   │   ├── media.audio.d.ts             媒体 -> 音频 API
│   │   ├── media.backgroundAudio.d.ts   媒体 -> 背景音频 API
│   │   ├── media.camera.d.ts            媒体 -> 相机 API
│   │   ├── media.editor.d.ts            媒体 -> 富文本 API
│   │   ├── media.image.d.ts             媒体 -> 图片 API
│   │   ├── media.live.d.ts              媒体 -> 实时音视频 API
│   │   ├── media.map.d.ts               媒体 -> 地图 API
│   │   ├── media.recorder.d.ts          媒体 -> 录音 API
│   │   └── media.video.d.ts             媒体 -> 视频 API
│   ├── network
│   │   ├── network.download.d.ts        网络 -> 下载 API
│   │   ├── network.mDNS.d.ts            网络 -> mDNS API
│   │   ├── network.request.d.ts         网络 -> 发起请求 API
│   │   ├── network.udp.d.ts             网络 -> UDP 通信 API
│   │   ├── network.upload.d.ts          网络 -> 上传 API
│   │   └── network.webSocket.d.ts       网络 -> WebSocket API
│   ├── openAPI
│   │   ├── openAPI.account.d.ts         开放接口 -> 账号信息 API
│   │   ├── openAPI.address.d.ts         开放接口 -> 收货地址 API
│   │   ├── openAPI.authorize.d.ts       开放接口 -> 授权 API
│   │   ├── openAPI.card.d.ts            开放接口 -> 卡券 API
│   │   ├── openAPI.dataAnalysis.d.ts    开放接口 -> 数据分析 API
│   │   ├── openAPI.facial.d.ts          开放接口 -> 人脸识别 API // 在微信小程序文档已找不到
│   │   ├── openAPI.invoice.d.ts         开放接口 -> 发票 API
│   │   ├── openAPI.login.d.ts           开放接口 -> 登录 API
│   │   ├── openAPI.navigate.d.ts        开放接口 -> 小程序跳转 API
│   │   ├── openAPI.payment.d.ts         开放接口 -> 支付 API
│   │   ├── openAPI.report.d.ts          开放接口 -> 数据上报 API
│   │   ├── openAPI.settings.d.ts        开放接口 -> 设置 API
│   │   ├── openAPI.soter.d.ts           开放接口 -> 生物认证 API
│   │   ├── openAPI.userInfo.d.ts        开放接口 -> 用户信息 API
│   │   └── openAPI.weRun.d.ts           开放接口 -> 微信运动 API
│   ├── router
│   │   └── router.d.ts                  路由 API
│   ├── share
│   │   └── share.d.ts                   转发 API
│   ├── storage
│   │   ├── storage.backgroundFetch.d.ts 数据缓存 -> 后台获取 API
│   │   └── storage.d.ts                 数据缓存 API
│   ├── swan
│   │   └── swan.d.ts                    百度小程序 API
│   ├── ui
│   │   ├── ui.animation.d.ts            界面 -> 动画 API
│   │   ├── ui.background.d.ts           界面 -> 背景 API
│   │   ├── ui.customComponent.d.ts      界面 -> 自定义组件 API
│   │   ├── ui.fonts.d.ts                界面 -> 字体 API
│   │   ├── ui.keyboard.d.ts             界面 -> 键盘 API
│   │   ├── ui.menu.d.ts                 界面 -> 菜单 API
│   │   ├── ui.navigationBar.d.ts        界面 -> 导航栏 API
│   │   ├── ui.pullDownRefresh.d.ts      界面 -> 下拉刷新 API
│   │   ├── ui.scroll.d.ts               界面 -> 滚动 API
│   │   ├── ui.sticky.d.ts               界面 -> 置顶 API
│   │   ├── ui.tabBar.d.ts               界面 -> TabBar API
│   │   ├── ui.window.d.ts               界面 -> 窗口 API
│   │   └── ul.interaction.d.ts          界面 -> 交互 API
│   ├── worker
│   │   └── worker.d.ts                  Worker API
│   └── wxml
│       └── wxml.d.ts                    WXML API
├── index.d.ts                           所有类型的集合,并从此文件导出
├── taro.component.d.ts                  Taro Component 类型定义
├── taro.config.d.ts                     Taro 小程序 App 与 Window 设置类型定义
├── taro.extend.d.ts                     Taro 扩展 API 类型定义
├── taro.hooks.d.ts                      Taro Hooks 类型定义
└── taro.lifecycle.d.ts                  Taro 生命周期类型定义

此提交的其他修改:

由于舍弃了直接从 @types/babel-types 导入 JSX 类型,而是改为使用 Triple-slash directives 语法引用 @types/reactJSX.Element 类型定义,taro-router 有两处 JSX 的 style 属性的类型由 string 改为 React.CSSProperties

另一处是 taro-router 的 router-test.tsx 82 行提示 JSX.Element 中不存在 dom 属性,故把第 79 行 routerComponent 显式声明为 any

这个 PR 是什么类型? (至少选择一个)

  • 错误修复(Bugfix)
  • 新功能(Feature)
  • 代码重构(Refactor)
  • TypeScript 类型定义修改(Typings)
  • 文档修改(Docs)
  • 代码风格更新(Code style update)
  • 其他,请描述(Other, please describe):

这个 PR 满足以下需求:

  • 提交到 master 分支
  • Commit 信息遵循 Angular Style Commit Message Conventions
  • 所有测试用例已经通过
  • 代码遵循相关包中的 .eslintrc, .tslintrc, .stylelintrc 所规定的规范
  • 在本地测试可用,不会影响到其它功能

这个 PR 涉及以下平台:

  • 微信小程序
  • 支付宝小程序
  • 百度小程序
  • 头条小程序
  • QQ 轻应用
  • 快应用平台(QuickApp)
  • Web 平台(H5)
  • 移动端(React-Native)

其它需要 Reviewer 或社区知晓的内容:

@luckyadam
Copy link
Member

简直不能赞得更多!

@luckyadam luckyadam merged commit 9882bed into NervJS:master Oct 12, 2019
@Garfield550 Garfield550 deleted the patch-typings-1 branch October 12, 2019 04:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants